// import css
import "@unocss/reset/tailwind.css";
import "virtual:uno.css";
// createApp 根组件
import { createApp } from "vue";
import App from "./App.vue";

// 导入路由
import router from "./router";
// 导入请求
import request, { createHttp, httpEvent } from "./components/request";
// 配置请求实例参数
createHttp({ baseURL: "/api" });
// 绑定 httpEvent 的响应事件
import { ElNotification } from "element-plus";
// 统一处理响应的 message 属性
httpEvent.on("response", (response) => {
  const { data } = response;
  if (data.message)
    ElNotification({
      title: data.success ? "提示" : "错误",
      message: data.message,
      type: data.success ? "success" : "error",
    });
});
// 统一处理响应错误
httpEvent.on("error", (error) => {
  if (error.status == 401) {
    // 恢复用户状态为未登录
    store.commit("logout");
    // 调整至登录页面
    return router.push({ name: "Login" });
  }
  ElNotification({
    title: "错误",
    message: error.message,
    type: "error",
  });
});
// 导入状态管理库
import store from "./store";

// 创建应用并使用插件
createApp(App).use(store).use(router).use(request).mount("#app");



